Systems and methods for connecting market participants

ABSTRACT

A system for connecting market participants is disclosed. The system may receive a first user data comprising a market participant type. The system may receive a first metadata set associated with the first user data and a second metadata set associated with a second user data, wherein the second metadata set comprises the market participant type. The system may generate a match data based on the first metadata set, the second metadata set, and the market participant type, wherein the match data defines an association between the first user data and the second user data. The system may generate a communication channel between a first user device and a second user device based on the match data.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a non-provisional of, and claims priority to andbenefit of, U.S. Provisional Application No. 62/891,208 filed on Aug.23, 2019 and entitled “SOFTWARE APPLICATION FOR CONNECTING REALTORS TOHOME BUYERS AND SELLERS,” which is incorporated by reference in itsentirety.

TECHNICAL FIELD

The present disclosure generally relates to mobile devices, and inparticular to systems and methods for mobile and automated connection ofreal estate market participants.

BACKGROUND

Traditionally, real estate market participants are connected via privatenetworks and dedicated channels. Such platforms tend to be limited incapability and may only be accessible during market hours, to certainclasses of participants, or may otherwise be restricted in geographic ortemporal availability. Additionally, options for viewing participantdata and performance feedback may be limited. Accordingly, improvedmobile connection platforms, for example platforms for direct connectionand lead generation, remain desirable.

SUMMARY

In various embodiments, systems, methods, and articles of manufacture(collectively, the “system”) for connecting market participants aredisclosed. In various embodiments, the system may receive a first userdata comprising a market participant type. The system may receive afirst metadata set associated with the first user data and a secondmetadata set associated with a second user data, wherein the secondmetadata set comprises the market participant type. The system maygenerate a match data based on the first metadata set, the secondmetadata set, and the market participant type, wherein the match datadefines an association between the first user data and the second userdata. The system may generate a communication channel between a firstuser device and a second user device based on the match data.

In various embodiments, the system may receive a confirm match inputfrom the first user device and the second user device and start acommunication process in response to the confirm match input. In variousembodiments, the system may receive a search distance, display a mappage, and populate the map page with a plurality of icons, wherein eachof the icons are associated with matched market participants, andwherein the population of icons is determined based on the searchdistance. In various embodiments, the system may generate a baselineuser rating based on the first metadata set and the second metadata setand update the baseline user rating based on changes in at least one ofthe first metadata set or the second metadata set. In variousembodiments, the market participant type comprises at least one ofbuyer, seller, or broker. In various embodiments, the first metadata setand the second metadata set include at least one of interest tags, typetags, and location tags.

The foregoing features and elements may be combined in variouscombinations without exclusivity, unless expressly indicated hereinotherwise. These features and elements as well as the operation of thedisclosed embodiments will become more apparent in light of thefollowing description and accompanying drawings. The contents of thissection are intended as a simplified introduction to the disclosure, andare not intended to limit the scope of any claim.

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter of the present disclosure is particularly pointed outand distinctly claimed in the concluding portion of the specification. Amore complete understanding of the present disclosure, however, may beobtained by referring to the detailed description and claims whenconsidered in connection with the drawing figures, wherein like numeralsdenote like elements.

FIG. 1 is a block diagram illustrating various system components of asystem for connecting market participants, in accordance with variousembodiments;

FIG. 2 illustrates a block diagram of a service in a system forconnecting market participants, in accordance with various embodiments;

FIG. 3 illustrates a startup page of a system for connecting marketparticipants, in accordance with various embodiments;

FIG. 4 illustrates a search and settings page of a system for connectingmarket participants, in accordance with various embodiments;

FIG. 5 illustrates a user data page of a system for connecting marketparticipants, in accordance with various embodiments;

FIG. 6 illustrates profile picture page of a system for connectingmarket participants, in accordance with various embodiments;

FIG. 7 illustrates a matching page of a system for connecting marketparticipants, in accordance with various embodiments;

FIG. 8 illustrates a communication page of a system for connectingmarket participants, in accordance with various embodiments;

FIG. 9A illustrates map page of a system for connecting marketparticipants, in accordance with various embodiments; and

FIG. 9B illustrates a profile drawer of a system for connecting marketparticipants, in accordance with various embodiments.

DETAILED DESCRIPTION

The following description is of various exemplary embodiments only, andis not intended to limit the scope, applicability or configuration ofthe present disclosure in any way. Rather, the following description isintended to provide a convenient illustration for implementing variousembodiments including the best mode. As will become apparent, variouschanges may be made in the function and arrangement of the elementsdescribed in these embodiments without departing from the scope of theappended claims.

For the sake of brevity, conventional techniques for mobile deviceapplication design and implementation, as well as conventional mobiledevice communications techniques, interface elements, and so forth,and/or the like, may not be described in detail herein. Furthermore, theconnecting lines shown in various figures contained herein are intendedto represent exemplary functional relationships and/or physical orcommunicative couplings between various elements. It should be notedthat many alternative or additional functional relationships orcommunicative connections may be present in a practical system orrelated methods of use, for example a mobile trading application forcryptocurrency derivatives.

Various shortcomings of mobile device applications can be addressed byutilizing mobile device applications and/or related cloud-based systemsconfigured in accordance with principles of the present disclosure. Forexample, the present system improves upon existing technology byoptimizing displays into modes which carry out platform activitiesincluding setting leverage, by providing a single assembly flow for anyorder type, monitoring each of a balance, an order set, and positionsassociated with an account, and by visualizing risk levels associatedwith a specific position.

In various exemplary embodiments, the system may provide a greater levelof sophistication and/or control for market participant connectionsystems. For example, data may be gathered from multiple data sourcescomprising multiple dissimilar rows and columns and may be distributedacross multiple platforms. While prior art systems typically include thetechnical problem of limited availability, lack of integration,obfuscation of performance data and/or the like, the current systemprovides a technical solution by tending to enable a single openplatform for market participant connection. In this regard, the systemmay enable accelerated trading via an integrated buyer, seller, brokerenvironment, optimized data presentation, performance metric capture,and user preference tracking. As such, the system may eliminate orreduce information gaps, reduce re-entry of data, and reduce recordduplication, and reduce search times. The system may also reduce thecost of system processing time for market search and data entry, reducenetwork utilization, and/or reduce data storage overhead. The system mayincrease data reliability and/or accuracy by enabling comparison of databetween market participants at an increased frequency. The system mayalso reduce redundant or duplicate tasks, thereby reducing a demand forsystem resources. The system may simplify data acquisition and enhancethe user experience by decreasing the number of user interactions e.g.,for duplication of offers and listings across platforms may be reduced,multiple independent contact events between market participants may bebatched into a single contact queue, and/or the like. Moreover, benefitsof the present disclosure may apply to any suitable electronic exchangeor trading platform.

Processes disclosed herein improve the functioning of the computer. Invarious s embodiments, connection processing speeds may be acceleratedvia a reduced interaction set enabled by a single inline connectionflow. The system may further reduce inputs by enabling a universallyaccessible data set for machine learning and automated connection ofmarket participants. In various embodiments, the system may reduceprocessing overhead by tending to reduce the need for multiple searchqueries to locate connection targets. For example, the system maydisplay a geographic presentation of local participants or may present acurated set determined based on user metadata. Similarly, the processincreases the reliability and speed of data presentation by enablingdirect comparison of real time data between market participants on thebasis of metadata elements. The system may automatically update itscontext to help provide information about a market participant. Thesystem increases the reliability and speed of analysis by enabling areal-time view of market participant performance. For example, thesystem may display feedback scores for brokers, buyers, and sellers.Thus, the system may tend to enable context based prediction of marketparticipant connections and thereby further automate the connectionprocess. In this regard, by transmitting, storing, and/or accessing datausing the processes described herein, the informational utility of thedata is improved, and errors are reduced. Such improvements may alsoincrease the efficiency of the network by reducing a portion ofduplicated effort as additional data sources are identified forcomparison.

In various embodiments, and with reference now to FIG. 1 , a system 100for connecting market participants is depicted. System 100 may includevarious computing devices, software modules, networks, and datastructures in communication with one another. System 100 may alsocontemplate uses in association with web services, utility computing,pervasive and individualized computing, security and identity solutions,autonomic computing, cloud computing, commodity computing, mobility andwireless solutions, open source, biometrics, grid computing and/or meshcomputing. System 100 may comprise an application server 102, a userdevice 104, and a an application service 200 (i.e., service 200). Any ofthese components may be outsourced and/or be in communication with theapplication server 102 and/or service 200 via a network such as, forexample a first network 106 and a second network 108.

System 100 may be computer based, and may comprise a processor, atangible non-transitory computer-readable memory, and/or a networkinterface, along with other suitable system software and hardwarecomponents. Instructions stored on the tangible non-transitory memorymay allow system 100 to perform various functions, as described herein.In various embodiments, the application server 102 and/or service 200may be configured as a central network element or hub to access varioussystems, engines, and components of system 100. The application server102 may comprise a network (e.g., network 106), a computer-based system,and/or software components configured to provide an access point tovarious systems, engines, and components of system 100. The applicationserver 102 may be in operative and/or electronic communication with userdevices 104 via the first network 106 and the service 200 via the secondnetwork 108. In this regard, the application server 102 may allowcommunication from the user devices 104 to systems, engines, andcomponents of system 100 (such as, for example, service 200). In variousembodiments, the application server 102 may receive commands and/ormetadata from the user devices 104 and may pass replies to the userdevices 104.

In various embodiments, application server 102 may include one or morecomputing devices described above, rack mounted servers, and/or virtualmachines providing load balancing, application services, web services,data query services, data transfer services, reverse proxy services, orotherwise facilitating the delivery and receipt of data across networks(106, 108).

In various embodiments, a user device 104 may comprise software and/orhardware in communication with the system 100 via a network (e.g.network 106) comprising hardware and/or software configured to allow auser, and/or the like, access to the application server 102. The userdevice 104 may comprise any suitable device that is configured to allowa user to communicate with a network and the system 100. The user devicemay include, for example, a personal computer, personal digitalassistant, cellular phone, kiosk, mobile device, and/or the like and mayallow a user to transmit comparison requests to the system 100. Invarious embodiments, the user device 104 described herein may run a webapplication or native application to communicate with application server102. A native application 110 may be installed on the user device 104via download, physical media, or an app store, for example. The nativeapplication 110 may utilize the development code base provided for usewith the operating system and capable of performing system calls tomanipulate the stored and displayed data on the user device 104 andcommunicates with application server 102. A web application may be webbrowser compatible and written specifically to run on a web browser. Theweb application may thus be a browser-based application that operates inconjunction with application server 102.

In various embodiments, the native application 110 running on the userdevice 104 may be in communication with the application server 102 tosupport real-time updates. For example, data pertaining to the service200 may synchronize across the various user devices 104 used by anynumber of users interacting with the application server 102 and/orservice 200. In this regard, the application server 102 may serve datafrom service 200 to each of the user devices 104 and may serve commandsfrom the user devices 104 to the service 200. In various embodiments,application server 102 may apply access permissions to restrict the datatransmitted between the networks (106, 108) and/or the variouscomponents of system 100. Users may be authenticated on the nativeapplication 110, for example, via a user name, password, dual factorauthentication, private cryptographic key, one-time password, securityquestion, biometrics, or other suitable authentication techniques knowto those skilled in the art.

With additional reference to FIG. 2 , a block diagram of a service 200of system 100 is illustrated in accordance with various embodiments.Service 200 may comprise a software bus architecture 202, an applicationprogramming interface (i.e., API module 204), a data handler 206 module,a rating engine 208, a matching engine 210, a user interface module 212,and a database module 214.

In various embodiments, API module 204 may be configured to provide aprogrammatic interface to any of the set of system 100 or service 200services, components, modules, and/or engines.

In various embodiments the data handler 206 is configured to capture andprocess data from one more external data sources into a plurality ofdata feeds 207 for use by the various systems, engines, and componentsof service 200. In various embodiments, the data feeds 207 may bereal-time data feeds. The data handler may be capable of integratingwith a variety of data sources. The data handler 206 may be configuredto integrate with databases and large data sets such as, for example,merchant processors, nationwide multistate licensing system andregistry, social media databases (e.g., FACEBOOK®, YOUTUBE®, INSTAGRAM®,GOOGLE® etc.), and/or the like.

In various embodiments, the rating engine 208 may be configured toprocess various elements of user data 216 and user metadata 220 such as,for example, interest tags, type tags, location tags, closing data,sales data, buyer feedback, seller feedback, and/or the like. The ratingengine 208 may generate a baseline user rating based on the user data215 and the user metadata 220 associated with a user. In variousembodiments, the baseline user rater may be determined based on a marketparticipant type associated with the user data. In various embodiments,the rating engine 208 may be configured to update the baseline userrating based on changes in the user metadata 220 over time.

In various embodiments, the matching engine 210 may be configured togenerate matches between users based on the baseline user rating, thelisting data 218, and the market participant type, a search distance,and/or the like. In various embodiments, the matching engine may beconfigured to generate a social graph based on the matches and theelements of user metadata 220 which may be stored as match data 222. Thematching engine 210 may feed back the match data 222 to the ratingengine 208 and, in that regard, changes in the match data 222 may affectand/or update the base line user rating. In various embodiments and withbrief additional reference to FIGS. 4 and 5 , the matching engine 210may be configured to generate matches between users based on themetadata elements (502, 504, 506, 508, 510, 512, and 514) received viathe user data page 500 and the various metadata elements (402, 404, 406,408, 410) received via the search and settings page 400.

In various embodiments, the user interface module 212 may provideoutputs from the service 200 to the user devices 104 and may receiveinputs therefrom. The user interface module 212 may be configured todisplay various interface pages of the service 200.

In various embodiments, the database module 214 may include any numberof data structures or data elements such as, for example, user data 216,listing data 218, user metadata 220, and match data 222. Database module214 may be configured to maintain user data 216 such as, for example,user names, passwords, authentication data, user profiles, marketparticipant type, addresses, biometric data, and/or the like. Databasemodule 214 may be configured to maintain listing data, such as, forexample, property addresses, images, price information, conditioninformation, associated broker, associated seller, and/or the like. Invarious embodiments, database module 214 may be configured to maintainuser metadata 220 such as, for example, user device 104 informationassociated with communication between the user device 104 and theservice 200, page interaction metrics, interest tags, type tags,location tags, closing data, sales data, buyer feedback, sellerfeedback, and/or the like. In various embodiments, the database module214 may be configured to maintain match data 222 such as, for example, amatch table, a social graph of associations between users based onmarket participant type, and/or the like.

In various embodiments, and with additional reference to FIG. 3 , astartup page 300 of system 100 is illustrated. Service 200 may display alogo 302 and may receive, via the user device 104, a user interactionwith the logo such as, for example, a left swipe 304.

In various embodiments, and with additional reference to FIG. 4 , asearch and settings page 400 of system 100 is illustrated. In responseto receiving the user interaction with the startup page 300, service 200may display the search and settings page 400. The search and settingspage 400 may be configured to receive user metadata 220 elements suchas, for example, looking for type 402 (i.e., one of the marketparticipant types), location tags 404, type tags 406, interest tags 408,search distance 410, and/or the like. The system may receive a lookingfor type 402 selection comprising the market participant type includingat least one of ‘buyer’, ‘seller’, or ‘broker’. The system may receive alocation tags 404 input such as, a city, a town, an address, and/or thelike. The system may receive a type tags 406 input comprising a propertytype such as, for example, residential, commercial, rental, lease,industrial, light industrial, retail, class A, class B, class C, and/orthe like. The system 100 may receive interest tags 408 such as, forexample, one or more text strings.

In various embodiments, the system may be configured to auto-completeand or auto-populate any of the metadata elements including the interesttags 408 based on data received by the data handler module 206 from theexternal data sources. In various embodiments, the system may beconfigured to auto-populate the location tags 404, type tags 406, andinterest tags 408 based on a frequency distribution. In variousembodiments, the system may receive a search distance 410 input. Thesearch distance 410 may be received, for example, via a slider selectionand thereby be user configurable between a minimum distance and amaximum distance. The system may pass the various metadata elements(402, 404, 406, 408, 410) received via the search and settings page tothe matching engine 210 for further processing. In various embodiments,the service 200 may include settings configurations which may enableservice 200 to command functions of the user device 104 such as, forexample, vibrate notification 412.

In various embodiments, and with additional reference to FIG. 5 , a userdata page 500 of system 100 is illustrated. The user data page 500 maybe configured to receive user data 216 and user metadata 220 elementssuch as, for example, market participant type 502, current location 504,type tags 506, interest tags 508, visitor status 510, map displayselection 512, and property value setting 514. The system may receive amarket participant type 502 selection comprising the market participanttype including at least one of ‘buyer’, ‘seller’, or ‘broker’. Thesystem may receive a current location 504 such as, for example, anaddress or a location data received from the user device 104. The systemmay receive a type tags 506 input comprising a property type such as,for example, residential, commercial, rental, lease, industrial, lightindustrial, retail, class A, class B, class C, and/or the like. Thesystem may receive interest tags 508 such as, for example, a textstring. In various embodiments, the system may be configured toauto-complete and or auto-populate any of the metadata elementsincluding the interest tags 408 based on data received by the datahandler module 206 from the external data sources. For example, thesystem may populate the interest tags 508 based on a FACEBOOK® accountassociated with the user data 216. The system may receive a visitorstatus 510 input and a map display selection 512 input, each of whichmay be Boolean. In various embodiments, the system may receive aproperty value setting 514 input. The property value setting 514 may bereceived, for example, via a slider selection and thereby be userconfigurable between a minimum price and a maximum price. The system maypass the various metadata elements (502, 504, 506, 508, 510, 512, and514) received via the user data page 500 to the matching engine 210 forfurther processing.

In various embodiments and with additional reference to FIG. 6 , aprofile picture page 600 of system 100 is illustrated. The profilepicture page 600 may be configured to receive user data 216 and enable aprofile picture selection 602 input and a profile description 604 input.The system may receive one or more profile pictures from the user device104 and may display the profile picture in the profile picture selection602. The system may receive an interaction from the user with theprofile picture selection 602 such as, for example, a tap and mayassociate the profile picture selection for display to marketparticipants matched via the matching engine 210. In variousembodiments, the system may be configured to auto-populate the profilepicture selection 602 based on data received by the data handler module206 from the external data sources. For example, the system may populatethe profile picture selection 602 based on a FACEBOOK® accountassociated with the user data 216. In various embodiments, the systemmay receive a profile description 604 input comprising a text input. Forexample, the profile description 604 input may comprise text relating tomarket participant type and experience, e.g., ‘Experienced Realtor onContra Costa County’.

In various embodiments and with additional reference to FIG. 7 , amatching page 700 of system 100 is illustrated. The matching page 700may display a profile picture 702 based on matches between marketparticipants generated by the matching engine 210. The system maydisplay user data 704 associated with the matched market participant.The matching page 700 may be configured to receive a match confirmationinput which may be Boolean, e.g., a confirm match 708 or a deny match706 input. In response to receiving the deny match 706 input, the systemmay display another profile picture based on the matches between marketparticipants generated by the matching engine 210. In response toreceiving the confirm match 708 input, the system may start acommunication process between market participants matched by thematching engine. In various embodiments, the communication process maybe started in response to receiving the confirm match input from each ofthe matched market participants.

In various embodiments and with additional reference to FIG. 8 , acommunication page 800 of system 100 is illustrated. The communicationpage 800 may be configured to enable text based communication betweeneach of the matched market participants. For example, the system maydisplay a plurality of conversation threads 802. In this regard, thesystem 100 may generate a communication channel between a first userdevice and a second user device based on the match data and therebyenable enhanced and automated connecting of market participants.

In various embodiments and with additional reference to FIGS. 9A and 9B,a map page 900 of system 100 is illustrated. The map page 900 may beconfigured to display icons 902 associated with matched marketparticipants and an associated geographic location. In variousembodiments, the icons 902 may be populated in response to the variousmetadata elements and based on the search distance 410. The map page 900may include a profile drawer 904 which may be configured to expand inresponse to an interaction received by the user device 104 such as, forexample, tapping on the profile drawer 904. In response to receiving theuser interaction, the profile drawer 904 may expand to display aplurality of market participant profiles 906 associated with the icons902.

Benefits, other advantages, and solutions to problems have beendescribed herein with regard to specific embodiments. However, thebenefits, advantages, solutions to problems, and any elements that maycause any benefit, advantage, or solution to occur or become morepronounced are not to be construed as critical, required, or essentialfeatures or elements of the disclosure. The scope of the disclosure isaccordingly limited by nothing other than the appended claims, in whichreference to an element in the singular is not intended to mean “one andonly one” unless explicitly so stated, but rather “one or more.”Moreover, where a phrase similar to “at least one of A, B, and C” or “atleast one of A, B, or C” is used in the claims or specification, it isintended that the phrase be interpreted to mean that A alone may bepresent in an embodiment, B alone may be present in an embodiment, Calone may be present in an embodiment, or that any combination of theelements A, B and C may be present in a single embodiment; for example,A and B, A and C, B and C, or A and B and C. Although the disclosureincludes a method, it is contemplated that it may be embodied ascomputer program instructions on a tangible computer-readable carrier,such as a magnetic or optical memory or a magnetic or optical disk. Allstructural, chemical, and functional equivalents to the elements of theabove-described various embodiments that are known to those of ordinaryskill in the art are expressly incorporated herein by reference and areintended to be encompassed by the present claims. Moreover, it is notnecessary for a device or method to address each and every problemsought to be solved by the present disclosure for it to be encompassedby the present claims. Furthermore, no element, component, or methodstep in the present disclosure is intended to be dedicated to the publicregardless of whether the element, component, or method step isexplicitly recited in the claims. No claim element is intended to invoke35 U.S.C. § 112(f) unless the element is expressly recited using thephrase “means for” or “step for”. As used herein, the terms “comprises,”“comprising,” or any other variation thereof, are intended to cover anon-exclusive inclusion, such that a process, method, article, orapparatus that comprises a list of elements does not include only thoseelements but may include other elements not expressly listed or inherentto such process, method, article, or apparatus.

The term “non-transitory” is to be understood to remove only propagatingtransitory signals per se from the claim scope and does not relinquishrights to all standard computer-readable media that are not onlypropagating transitory signals per se. Stated another way, the meaningof the term “non-transitory computer-readable medium” and“non-transitory computer-readable storage medium” should be construed toexclude only those types of transitory computer-readable media whichwere found in In re Nuijten to fall outside the scope of patentablesubject matter under 35 U.S.C. § 101.

In various embodiments, components, modules, and/or engines of system100 may be implemented as micro-applications or micro-apps. Micro-appsare typically deployed in the context of a mobile operating system,including for example, a WINDOWS® mobile operating system, an ANDROID®operating system, an APPLE® iOS operating system, a BLACKBERRY®company's operating system, and the like. The micro-app may beconfigured to leverage the resources of the larger operating system andassociated hardware via a set of predetermined rules which govern theoperations of various operating systems and hardware resources. Forexample, where a micro-app desires to communicate with a device ornetwork other than the mobile device or mobile operating system, themicro-app may leverage the communication protocol of the operatingsystem and associated device hardware under the predetermined rules ofthe mobile operating system. Moreover, where the micro-app desires aninput from a user, the micro-app may be configured to request a responsefrom the operating system which monitors various hardware components andthen communicates a detected input from the hardware to the micro-app.

The system and method may be described herein in terms of functionalblock components, screen shots, optional selections, and variousprocessing steps. It should be appreciated that such functional blocksmay be realized by any number of hardware and/or software componentsconfigured to perform the specified functions. For example, the systemmay employ various integrated circuit components, e.g., memory elements,processing elements, logic elements, look-up tables, and the like, whichmay carry out a variety of functions under the control of one or moremicroprocessors or other control devices. Similarly, the softwareelements of the system may be implemented with any programming orscripting language such as C, C++, C#, JAVA®, JAVASCRIPT®, JAVASCRIPT®Object Notation (JSON), VBScript, Macromedia COLD FUSION, COBOL,MICROSOFT® company's Active Server Pages, assembly, PERL®, PHP, awk,PYTHON®, Visual Basic, SQL Stored Procedures, PL/SQL, any UNIX® shellscript, and extensible markup language (XML) with the various algorithmsbeing implemented with any combination of data structures, objects,processes, routines or other programming elements. Further, it should benoted that the system may employ any number of conventional techniquesfor data transmission, signaling, data processing, network control, andthe like. Still further, the system could be used to detect or preventsecurity issues with a client-side scripting language, such asJAVASCRIPT®, VBScript, or the like.

The system and method are described herein with reference to screenshots, block diagrams and flowchart illustrations of methods, apparatus,and computer program products according to various embodiments. It willbe understood that each functional block of the block diagrams and theflowchart illustrations, and combinations of functional blocks in theblock diagrams and flowchart illustrations, respectively, can beimplemented by computer program instructions

Accordingly, functional blocks of the block diagrams and flowchartillustrations support combinations of means for performing the specifiedfunctions, combinations of steps for performing the specified functions,and program instruction means for performing the specified functions. Itwill also be understood that each functional block of the block diagramsand flowchart illustrations, and combinations of functional blocks inthe block diagrams and flowchart illustrations, can be implemented byeither special purpose hardware-based computer systems which perform thespecified functions or steps, or suitable combinations of specialpurpose hardware and computer instructions. Further, illustrations ofthe process flows and the descriptions thereof may make reference touser WINDOWS® applications, webpages, websites, web forms, prompts, etc.Practitioners will appreciate that the illustrated steps describedherein may comprise, in any number of configurations, including the useof WINDOWS® applications, webpages, web forms, popup WINDOWS®applications, prompts, and the like. It should be further appreciatedthat the multiple steps as illustrated and described may be combinedinto single webpages and/or WINDOWS® applications but have been expandedfor the sake of simplicity. In other cases, steps illustrated anddescribed as single process steps may be separated into multiplewebpages and/or WINDOWS® applications but have been combined forsimplicity.

In various embodiments, the software elements of the system may also beimplemented using a JAVASCRIPT® run-time environment configured toexecute JAVASCRIPT® code outside of a web browser. For example, thesoftware elements of the system may also be implemented using NODE.JS®components. NODE.JS® programs may implement several modules to handlevarious core functionalities. For example, a package management module,such as NPM®, may be implemented as an open source library to aid inorganizing the installation and management of third-party NODE.JS®programs. NODE.JS® programs may also implement a process manager, suchas, for example, Parallel Multithreaded Machine (“PM2”); a resource andperformance monitoring tool, such as, for example, Node ApplicationMetrics (“appmetrics”); a library module for building user interfaces,and/or any other suitable and/or desired module.

Middleware may include any hardware and/or software suitably configuredto facilitate communications and/or process transactions betweendisparate computing systems. Middleware components are commerciallyavailable and known in the art. Middleware may be implemented throughcommercially available hardware and/or software, through custom hardwareand/or software components, or through a combination thereof. Middlewaremay reside in a variety of configurations and may exist as a standalonesystem or may be a software component residing on the internet server.Middleware may be configured to process transactions between the variouscomponents of an application server and any number of internal orexternal systems for any of the purposes disclosed herein. WEB SPHERE®MQTM (formerly MQSeries) by IBM®, Inc. (Armonk, NY) is an example of acommercially available middleware product. An Enterprise Service Bus(“ESB”) application is another example of middleware

The computers discussed herein may provide a suitable website or otherinternet-based graphical user interface which is accessible by users. Inone embodiment, MICROSOFT® company's Internet Information Services(IIS), Transaction Server (MTS) service, and an SQL SERVER® database,are used in conjunction with MICROSOFT® operating systems, WINDOWS NT®web server software, SQL SERVER® database, and MICROSOFT® CommerceServer. Additionally, components such as ACCESS® software, SQL SERVER®database, ORACLE® software, SYBASE® software, INFORMIX® software, MYSQL®software, INTERBASE® software, etc., may be used to provide an ActiveData Object (ADO) compliant database management system. In oneembodiment, the APACHE® web server is used in conjunction with a LINUX®operating system, a MYSQL® database, and PERL®, PHP, Ruby, and/orPYTHON® programming languages.

For the sake of brevity, conventional data networking, applicationdevelopment, and other functional aspects of the systems (and componentsof the individual operating components of the systems) may not bedescribed in detail herein. Furthermore, the connecting lines shown inthe various figures contained herein are intended to represent exemplaryfunctional relationships and/or physical couplings between the variouselements. It should be noted that many alternative or additionalfunctional relationships or physical connections may be present in apractical system.

In various embodiments, the methods described herein are implementedusing the various particular machines described herein. The methodsdescribed herein may be implemented using the below particular machines,and those hereinafter developed, in any suitable combination, as wouldbe appreciated immediately by one skilled in the art. Further, as isunambiguous from this disclosure, the methods described herein mayresult in various transformations of certain articles.

The various system components discussed herein may include one or moreof the following: a host server or other computing systems including aprocessor for processing digital data; a memory coupled to the processorfor storing digital data; an input digitizer coupled to the processorfor inputting digital data; an application program stored in the memoryand accessible by the processor for directing processing of digital databy the processor; a display device coupled to the processor and memoryfor displaying information derived from digital data processed by theprocessor; and a plurality of databases. Various databases used hereinmay include: client data; merchant data; financial institution data;and/or like data useful in the operation of the system. As those skilledin the art will appreciate, user computer may include an operatingsystem (e.g., WINDOWS®, UNIX®, LINUX®, SOLARIS®, MACOS®, etc.) as wellas various conventional support software and drivers typicallyassociated with computers.

The present system or any part(s) or function(s) thereof may beimplemented using hardware, software, or a combination thereof and maybe implemented in one or more computer systems or other processingsystems. However, the manipulations performed by embodiments may bereferred to in terms, such as matching or selecting, which are commonlyassociated with mental operations performed by a human operator. No suchcapability of a human operator is necessary, or desirable, in mostcases, in any of the operations described herein. Rather, the operationsmay be machine operations or any of the operations may be conducted orenhanced by artificial intelligence (AI) or machine learning. AI mayrefer generally to the study of agents (e.g., machines, computer-basedsystems, etc.) that perceive the world around them, form plans, and makedecisions to achieve their goals. Foundations of AI include mathematics,logic, philosophy, probability, linguistics, neuroscience, and decisiontheory. Many fields fall under the umbrella of AI, such as computervision, robotics, machine learning, and natural language processing.Useful machines for performing the various embodiments include generalpurpose digital computers or similar devices.

The computer system may also include a communications interface. Acommunications interface allows software and data to be transferredbetween the computer system and external devices. Examples of such acommunications interface may include a modem, a network interface (suchas an Ethernet card), a communications port, etc. Software and datatransferred via the communications interface are in the form of signalswhich may be electronic, electromagnetic, optical, or other signalscapable of being received by communications interface. These signals areprovided to communications interface via a communications path (e.g.,channel). This channel carries signals and may be implemented usingwire, cable, fiber optics, a telephone line, a cellular link, a radiofrequency (RF) link, wireless and other communications channels.

In various embodiments, the server may include application servers(e.g., WEBSPHERE®, WEBLOGIC®, JBOSS®, POSTGRES PLUS ADVANCED SERVER®,etc.). In various embodiments, the server may include web servers (e.g.,Apache, IIS, GOOGLE® Web Server, SUN JAVA® System Web Server, JAVA®Virtual Machine running on LINUX® or WINDOWS® operating systems).

A web client includes any device or software which communicates via anynetwork, such as, for example any device or software discussed herein.The web client may include internet browsing software installed within acomputing unit or system to conduct online transactions and/orcommunications. These computing units or systems may take the form of acomputer or set of computers, although other types of computing units orsystems may be used, including personal computers, laptops, notebooks,tablets, smart phones, cellular phones, personal digital assistants,servers, pooled servers, mainframe computers, distributed computingclusters, kiosks, terminals, point of sale (POS) devices or terminals,televisions, or any other device capable of receiving data over anetwork. The web client may include an operating system (e.g., WINDOWS®,WINDOWS MOBILE® operating systems, UNIX® operating system, LINUX®operating systems, APPLE® OS® operating systems, etc.) as well asvarious conventional support software and drivers typically associatedwith computers. The web-client may also run MICROSOFT® INTERNETEXPLORER® software, MOZILLA® FIREFOX® software, GOOGLE CHROME′ software,APPLE® SAFARI® software, or any other of the myriad software packagesavailable for browsing the internet.

As those skilled in the art will appreciate, the web client may or maynot be in direct contact with the server (e.g., application server, webserver, etc., as discussed herein). For example, the web client mayaccess the services of the server through another server and/or hardwarecomponent, which may have a direct or indirect connection to an internetserver. For example, the web client may communicate with the server viaa load balancer. In various embodiments, web client access is through anetwork or the internet through a commercially-available web-browsersoftware package. In that regard, the web client may be in a home orbusiness environment with access to the network or the internet. The webclient may implement security protocols such as Secure Sockets Layer(SSL) and Transport Layer Security (TLS). A web client may implementseveral application layer protocols including HTTP, HTTPS, FTP, andSFTP.

The various system components may be independently, separately, orcollectively suitably coupled to the network via data links whichincludes, for example, a connection to an Internet Service Provider(ISP) over the local loop as is typically used in connection withstandard modem communication, cable modem, DISH NETWORK®, ISDN, DigitalSubscriber Line (DSL), or various wireless communication methods. It isnoted that the network may be implemented as other types of networks,such as an interactive television (ITV) network. Moreover, the systemcontemplates the use, sale, or distribution of any goods, services, orinformation over any network having similar functionality describedherein.

The system contemplates uses in association with web services, utilitycomputing, pervasive and individualized computing, security and identitysolutions, autonomic computing, cloud computing, commodity computing,mobility and wireless solutions, open source, biometrics, gridcomputing, and/or mesh computing.

Any of the communications, inputs, storage, databases or displaysdiscussed herein may be facilitated through a website having web pages.The term “web page” as it is used herein is not meant to limit the typeof documents and applications that might be used to interact with theuser. For example, a typical website might include, in addition tostandard HTML documents, various forms, JAVA® applets, JAVASCRIPT®programs, active server pages (ASP), common gateway interface scripts(CGI), extensible markup language (XML), dynamic HTML, cascading stylesheets (CSS), AJAX (Asynchronous JAVASCRIPT And XML) programs, helperapplications, plug-ins, and the like. A server may include a web servicethat receives a request from a web server, the request including a URLand an IP address (192.168.1.1). The web server retrieves theappropriate web pages and sends the data or applications for the webpages to the IP address. Web services are applications that are capableof interacting with other applications over a communications means, suchas the internet. Web services are typically based on standards orprotocols such as XML, SOAP, AJAX, WSDL and UDDI. Web services methodsare well known in the art, and are covered in many standard texts. Forexample, representational state transfer (REST), or RESTful, webservices may provide one way of enabling interoperability betweenapplications.

The computing unit of the web client may be further equipped with aninternet browser connected to the internet or an intranet using standarddial-up, cable, DSL, or any other internet protocol known in the art.Transactions originating at a web client may pass through a firewall inorder to prevent unauthorized access from users of other networks.Further, additional firewalls may be deployed between the varyingcomponents of CMS to further enhance security.

Encryption may be performed by way of any of the techniques nowavailable in the art or which may become available—e.g., Twofish, RSA,El Gamal, Schorr signature, DSA, PGP, PKI, GPG (GnuPG), HPEFormat-Preserving Encryption (FPE), Voltage, Triple DES, Blowfish, AES,MD5, HMAC, IDEA, RC6, and symmetric and asymmetric cryptosystems. Thesystems and methods may also incorporate SHA series cryptographicmethods, elliptic curve cryptography (e.g., ECC, ECDH, ECDSA, etc.),and/or other post-quantum cryptography algorithms under development.

The firewall may include any hardware and/or software suitablyconfigured to protect CMS components and/or enterprise computingresources from users of other networks. Further, a firewall may beconfigured to limit or restrict access to various systems and componentsbehind the firewall for web clients connecting through a web server.Firewall may reside in varying configurations including StatefulInspection, Proxy based, access control lists, and Packet Filteringamong others. Firewall may be integrated within a web server or anyother CMS components or may further reside as a separate entity. Afirewall may implement network address translation (“NAT”) and/ornetwork address port translation (“NAPT”). A firewall may accommodatevarious tunneling protocols to facilitate secure communications, such asthose used in virtual private networking. A firewall may implement ademilitarized zone (“DMZ”) to facilitate communications with a publicnetwork such as the internet. A firewall may be integrated as softwarewithin an internet server or any other application server components,reside within another computing device, or take the form of a standalonehardware component.

Any databases discussed herein may include relational, hierarchical,graphical, blockchain, object-oriented structure, and/or any otherdatabase configurations. Any database may also include a flat filestructure wherein data may be stored in a single file in the form ofrows and columns, with no structure for indexing and no structuralrelationships between records. For example, a flat file structure mayinclude a delimited text file, a CSV (comma-separated values) file,and/or any other suitable flat file structure. Common database productsthat may be used to implement the databases include DB2® by IBM®(Armonk, NY), various database products available from ORACLE®Corporation (Redwood Shores, CA), MICROSOFT ACCESS® or MICROSOFT SQLSERVER® by MICROSOFT® Corporation (Redmond, Washington), MYSQL® by MySQLAB (Uppsala, Sweden), MONGODB®, Redis, APACHE CASSANDRA®, HBASE® byAPACHE®, MapR-DB by the MAPR® corporation, or any other suitabledatabase product. Moreover, any database may be organized in anysuitable manner, for example, as data tables or lookup tables. Eachrecord may be a single file, a series of files, a linked series of datafields, or any other data structure.

The disclosure and claims do not describe only a particular outcome of asystem for connecting market participants, but the disclosure and claimsinclude specific rules for implementing the outcome of a system forconnecting market participants and that render information into aspecific format that is then used and applied to create the desiredresults of a system for connecting market participants, as set forth inMcRO, Inc. v. Bandai Namco Games America Inc. (Fed. Cir. case number15-1080, Sep. 13, 2016). In other words, the outcome of a system forconnecting market participants can be performed by many different typesof rules and combinations of rules, and this disclosure includes variousembodiments with specific rules. While the absence of completepreemption may not guarantee that a claim is eligible, the disclosuredoes not sufficiently preempt the field of a system for connectingmarket participants at all. The disclosure acts to narrow, confine, andotherwise tie down the disclosure so as not to cover the generalabstract idea of just a system for connecting market participants.Significantly, other systems and methods exist for a system forconnecting market participants, so it would be inappropriate to assertthat the claimed invention preempts the field or monopolizes the basictools of a system for connecting market participants. In other words,the disclosure will not prevent others from a system for connectingmarket participants, because other systems are already performing thefunctionality in different ways than the claimed invention. Moreover,the claimed invention includes an inventive concept that may be found inthe non-conventional and non-generic arrangement of known, conventionalpieces, in conformance with Bascom v. AT&T Mobility, 2015-1763 (Fed.Cir. 2016). The disclosure and claims go way beyond any conventionalityof any one of the systems in that the interaction and synergy of thesystems leads to additional functionality that is not provided by anyone of the systems operating independently. The disclosure and claimsmay also include the interaction between multiple different systems, sothe disclosure cannot be considered an implementation of a genericcomputer, or just “apply it” to an abstract process. The disclosure andclaims may also be directed to improvements to software with a specificimplementation of a solution to a problem in the software arts.

What is claimed is:
 1. A method, comprising: receiving, by a computerbased system, a first user data of a first user comprising a marketparticipant type; receiving, by the computer based system, a firstmetadata set associated with the first user data; receiving, by thecomputer based system, a second metadata set associated with a seconduser data of a second user, wherein the second metadata set comprisesthe market participant type; coordinating displaying, by the computerbased system and on a first user device, a search and settings userinterface that is auto-populated with the second metadata set;coordinating displaying, by the computer based system and on the firstuser device, a user data page interface that is auto-populated with thefirst metadata set; coordinating displaying, by the computer basedsystem and on a second user device, a profile picture interface that isauto-populated with a profile picture from a social media website;receiving, at the computer based system, a search query through thesearch and settings user interface, the search query comprising a searchdistance; generating, by the computer based system, a match data basedon the first metadata set, the second metadata set, and the marketparticipant type, wherein the match data comprises a social graphdefining an association between the first user data of the first userand the second user data of the second user; determining, by thecomputer based system, a baseline user rating based on each of the firstmetadata set, the second metadata set, and the market participant type;determining, by the computer based system, a match between the firstuser and the second user based on the baseline user rating, a listingdata, the market participant type, the search distance, and the socialgraph; coordinating displaying, by the computer based system and on thefirst user device, a map user interface comprising a profile drawer iconand a plurality of icons, wherein each of the icons are associated witha matched market participant of a plurality of matched marketparticipants within the search distance and the plurality of matchedmarket participants comprise the second user; receiving, by the computersystem and from the first user device, a selection of the profile drawericon on the map user interface; coordinating displaying, by the computerbased system and on the first user device, an expanded profile drawer inplace of the profile drawer icon on the map user interface, wherein theexpanded profile drawer comprises a respective profile picture for eachof the plurality of icons and the profile picture; in response to thedetermining the match, generating, by the computer based system, a matchpage interface comprising the profile picture; in response to receivinga selection of a confirm match icon on the match page interface,generating a communication channel between the first user device and thesecond user device based on the match; updating, by the computer basedsystem, the baseline user rating based on changes in each of the firstmetadata set, the second metadata set, and the market participant type;executing, by the computer based system, a rating engine, operable toprocess the first user data, the second user data, the first metadataset, and the second metadata set, wherein in response to execution bythe computer based system the rating engine generates the baseline userrating for the first user and the baseline user rating for the seconduser by processing elements of the first user data, the second userdata, the first metadata set, and the second metadata set including atleast one of a type tag, an interest tag, a location tag, closing data,sales data, buyer feedback, or seller feedback, wherein only the firstuser data and the first metadata set are processed by the rating engineto generate the baseline user rating for the first user and wherein onlythe second user data and the second metadata set are processed by therating engine to generate the baseline user rating for the second user;and executing, by the computer based system, a matching engine, operableto generate a social graph, to generate the match data, and to furtherprocess the baseline user ratings, wherein in response to execution bythe computer based system the matching engine generates the match dataand feeds back the match data to the rating engine.
 2. The method ofclaim 1, wherein the market participant type comprises at least one of‘buyer’, ‘seller’, or ‘broker’.
 3. The method of claim 2, wherein thefirst metadata set and the second metadata set include at least one ofinterest tags, type tags, and location tags.
 4. The method of claim 3,further comprising: populating, by the computer based system, one of thelocation tags, type tags, or interest tags based on a frequencydistribution.
 5. A system comprising: a processor; and a tangible,non-transitory memory configured to communicate with the processor, thetangible, non-transitory memory having instructions stored thereon that,in response to execution by the processor, cause the processor toperform operations comprising: receiving, by the processor, a first userdata of a first user comprising a market participant type; receiving, bythe processor, a first metadata set associated with the first user data;receiving, by the processor, a second metadata set associated with asecond user data of a second user, wherein the second metadata setcomprises the market participant type; coordinating displaying, by theprocessor and on a first user device, a search and settings userinterface that is auto-populated with the second metadata set;coordinating displaying, by the processor and on the first user device,a user data page interface that is auto-populated with the firstmetadata set; coordinating displaying, by the processor and on a seconduser device, a profile picture interface that is auto-populated with aprofile picture from a social media website; receiving, at theprocessor, a search query through the search and settings userinterface, the search query comprising a search distance; generating, bythe processor, a match data based on the first metadata set, the secondmetadata set, and the market participant type, wherein the match datacomprises a social graph defining an association between the first userdata of the first user and the second user data of the second user; andgenerating, by the processor, a baseline user rating based on each ofthe first metadata set, the second metadata set, and the marketparticipant type; determining, by the processor, a match between usersthe first user and the second user based on the baseline user rating, alisting data, the market participant type, the search distance, and thesocial graph; coordinating displaying, by the computer based system andon the first user device, a map user interface comprising a profiledrawer icon and a plurality of icons, wherein each of the icons areassociated with a matched market participant of a plurality of matchedmarket participants within the search distance and the plurality ofmatched market participants comprise the second user; receiving, by thecomputer system and from the first user device, a selection of theprofile drawer icon on the map user interface; coordinating displaying,by the computer based system and on the first user device, an expandedprofile drawer in place of the profile drawer icon on the map userinterface, wherein the expanded profile drawer comprises a respectiveprofile picture for each of the plurality of icons and the profilepicture; in response to the determining the match, generating, by thecomputer based system, a match page interface comprising the profilepicture; in response to receiving a selection of a confirm match icon onthe match page interface, generating a communication channel between thefirst user device and the second user device based on the match;updating, by the processor, the baseline user rating based on changes ineach of the first metadata set, the second metadata set, and the marketparticipant type; and wherein the tangible, non-transitory, memorycomprises a set of computer readable code including: a rating engine,executable by the processor, operable to process the first user data,the second user data, the first metadata set, and the second metadataset, wherein in response to execution by the processor the rating enginegenerates the baseline user rating for the first user and the baselineuser rating for the second user by processing elements of the first userdata, the second user data, the first metadata set, and the secondmetadata set including at least one of a type tag, an interest tag, alocation tag, closing data, sales data, buyer feedback, or sellerfeedback, wherein only the first user data and the first metadata setare processed by the rating engine to generate the baseline user ratingfor the first user and wherein only the second user data and the secondmetadata set are processed by the rating engine to generate the baselineuser rating for the second user; and a matching engine, executable bythe processor, operable to generate a social graph, to generate thematch data, and to further process the baseline user ratings, wherein inresponse to execution by the processor the matching engine generates thematch data and feeds back the match data to the rating engine.
 6. Thesystem of claim 5, wherein the market participant type comprises atleast one of ‘buyer’, ‘seller’, or ‘broker’.
 7. The system of claim 6,wherein the first metadata set and the second metadata set include atleast one of interest tags, type tags, and location tags.
 8. The systemof claim 7, wherein the operations further comprise: populating, by theprocessor, one of the location tags, type tags, or interest tags basedon a frequency distribution.
 9. An article of manufacture including anon-transitory, tangible computer readable storage medium havinginstructions stored thereon that, in response to execution by a computerbased system, cause the computer based system to perform operationscomprising: receiving, by a computer based system, a first user data ofa first user comprising a market participant type; receiving, by thecomputer based system, a first metadata set associated with the firstuser data; receiving, by the computer based system, a second metadataset associated with a second user data of a second user, wherein thesecond metadata set comprises the market participant type; coordinatingdisplaying, by the computer based system and on a first user device, asearch and settings user interface that is auto-populated with thesecond metadata set; coordinating displaying, by the computer basedsystem and on the first user device, a user data page interface that isauto-populated with the first metadata set; coordinating displaying, bythe computer based system and on a second user device, a profile pictureinterface that is auto-populated with a profile picture from a socialmedia website; receiving, at the computer based system, a search querythrough the search and settings user interface, the search querycomprising a search distance; generating, by the computer based system,a match data based on the first metadata set, the second metadata set,and the market participant type, wherein the match data comprises asocial graph defining an association between the first user data of thefirst user and the second user data of the second user; determining, bythe computer based system, a baseline user rating based on each of thefirst metadata set, the second metadata set, and the market participanttype; determining, by the computer based system, a match between thefirst user and the second user based on the baseline user rating, alisting data, the market participant type, the search distance, and thesocial graph; coordinating displaying, by the computer based system andon the first user device, a map user interface comprising a profiledrawer icon and a plurality of icons, wherein each of the icons areassociated with a matched market participant of a plurality of matchedmarket participants within the search distance and the plurality ofmatched market participants comprise the second user; receiving, by thecomputer system and from the first user device, a selection of theprofile drawer icon on the map user interface; coordinating displaying,by the computer based system and on the first user device, an expandedprofile drawer in place of the profile drawer icon on the map userinterface, wherein the expanded profile drawer comprises a respectiveprofile picture for each of the plurality of icons and the profilepicture; in response to the determining the match, generating, by thecomputer based system, a match page interface comprising the profilepicture; in response to receiving a selection of a confirm match icon onthe match page interface, generating a communication channel between thefirst user device and the second user device based on the match;updating, by the computer based system, the baseline user rating basedon changes in each of the first metadata set, the second metadata set,and the market participant type; executing, by the computer basedsystem, a rating engine, operable to process the first user data, thesecond user data, the first metadata set, and the second metadata set,wherein in response to execution by the computer based system the ratingengine generates the baseline user rating for the first user and thebaseline user rating for the second user by processing elements of thefirst user data, the second user data, the first metadata set, and thesecond metadata set including at least one of a type tag, an interesttag, a location tag, closing data, sales data, buyer feedback, or sellerfeedback, wherein only the first user data and the first metadata setare processed by the rating engine to generate the baseline user ratingfor the first user and wherein only the second user data and the secondmetadata set are processed by the rating engine to generate the baselineuser rating for the second user; and executing, by the computer basedsystem, a matching engine, operable to generate a social graph, togenerate the match data, and to further process the baseline userratings, wherein in response to execution by the computer based systemthe matching engine generates the match data and feeds back the matchdata to the rating engine.
 10. The article of manufacture of claim 9,wherein the market participant type comprises at least one of ‘buyer’,‘seller’, or ‘broker’.
 11. The article of manufacture of claim 10,wherein the first metadata set and the second metadata set include atleast one of interest tags, type tags, and location tags.
 12. Thearticle of manufacture of claim 11, wherein the operations furthercomprise: populating, by the computer based system, one of the locationtags, type tags, or interest tags based on a frequency distribution.